Systems and methods for scheduling contributions to a retirement savings plan

ABSTRACT

Computer-based systems and methods are described for generating personalized, automated contribution strategies for scheduling contributions to a retirement savings plan or other savings plan. Embodiments of the systems and methods provide visual, graphic, and other educational displays to assist a client in choosing a suitable savings contribution strategy that may take into account at least one of the set consisting of: details of an employer-sponsored savings fund available to the client which may include opportunities for employer matching-funds, desired portion of potential standard-of-living increases derived from salary raises that the client is willing to contribute to a savings plan, client&#39;s current savings behavior and value of savings portfolio, effects of the stochastic nature of future investment portfolio value, and changing federal tax regulations. Clients may use the systems for educational and planning purposes and/or may authorize automated triggering of contributions with scheduled increases and/or decreases as specified by the selected strategy.

PRIORITY APPLICATION

This application is a divisional of U.S. patent application Ser. No.12/637,697, entitled SYSTEMS AND METHODS FOR SCHEDULING CONTRIBUTIONS TOA RETIREMENT SAVINGS PLAN, filed on Dec. 14, 2009, which will issue onJun. 14, 2011 as U.S. Pat. No. 7,962,394 and which is a divisional ofapplication Ser. No. 10/839,192, entitled SYSTEMS AND METHODS FORSCHEDULING CONTRIBUTIONS TO A RETIREMENT SAVINGS PLAN, which was filedon May 5, 2004 and issued on Dec. 15, 2009 as U.S. Pat. No. 7,634,436and which claims priority benefit of U.S. Provisional Patent ApplicationNo. 60/467,776 filed May 5, 2003, and titled SYSTEM AND METHOD FORSCHEDULING CONTRIBUTIONS TO RETIREMENT SAVINGS PLANS, all of which areincorporated herein by reference in their entireties.

APPENDICES

This specification includes a partial source code listing of one aspectof a preferred embodiment of the invention, attached as Appendix A.These materials form a part of the disclosure of the specification. Thecopyright owner has no objection to the facsimile reproduction of thiscode listing and other code listings included in Tables 1-5 as part ofthis patent document, but reserves all other copyrights whatsoever.

FIELD OF THE INVENTION

The present invention relates generally to electronic financial analysisand advisory systems, and in particular, to systems for schedulingcontributions to savings plans.

BACKGROUND OF THE INVENTION

As employer-sponsored defined benefit retirement plans become lesscommonly offered by employers, defined contribution plans, such as401(k) and 403(b) plans that rely on employee contributions and employeeinvestment choices are increasingly taking their place. With SocialSecurity becoming a less certain source of retirement income, thesedefined contribution plans and other savings plans managed by theemployee are becoming more important to the employee's eventualstandard-of-living during retirement years.

Plan sponsors (employers) and plan providers (administrators) typicallywant to encourage increased savings. Towards this end, many employersoffer to match a portion of an employee's savings, with certainlimitations.

Individual savings are more important now than ever, but the manyinvestment choices available to employees may be confusing to them. Manyemployees select a retirement savings contribution plan, possibly evenone that does not take full advantage of employer matching funds, andcontinue with it, unchanged, for the duration of their employment. Manyfeel they need their full take-home salary right now and may not want toforego even the portion of their raises that goes beyond what's neededto maintain their current standard-of-living.

Financial planners, who are often best equipped to explain to employeesthe consequences of various contribution plan choices, are frequentlypaid based on client portfolio size. Since an average employee savingsportfolio is relatively small (e.g., $15K), it is often notcost-effective for financial planners to provide individualized servicesto clients desiring advice regarding their retirement savingscontributions.

SUMMARY OF THE INVENTION

Computer-based systems and methods are described that address theabove-mentioned deficiencies by generating personalized, automatedcontribution strategies for scheduling contributions to a retirementsavings plan or other savings plan. Embodiments of the systems andmethods provide visual and other educational displays to assist a clientin choosing a suitable savings contribution strategy that takes intoaccount a plurality of factors, such as: details of anemployer-sponsored savings fund available to the client which mayinclude opportunities for employer matching-funds, acceptable portion ofstandard-of-living increases derived from salary raises that the clientis willing to contribute to a savings plan, client's current savingsbehavior and value of savings portfolio, effects of the stochasticnature of future investment portfolio value, and changing federal taxregulations. Clients may use the systems for educational and planningpurposes. Clients may authorize automated triggering of contributionswith scheduled increases and/or decreases as specified by the selectedplan.

The educational aspects of the systems and methods described herein helpeducate an employee regarding the significant long-term benefitcontributing to retirement savings to the maximum limit matched by theemployer and to receiving the maximum amount of free contributions fromemployer as soon as is possible. Furthermore, the systems and methodsare configured to calculate and to show the employee that, as long asthe employee receives raises that are above the current level ofinflation, progress may be made towards the goal of full matching-fundseligibility without sacrificing the employee's currentstandard-of-living.

Once an employee authorizes contribution payments to be made accordingto a selected contribution schedule, the contribution schedule may beused by a contribution management application of the system to triggerautomated contribution payments that increase and/or change according tothe contribution schedule. Furthermore, the system may be configured togenerate a two-staged contribution schedule that provides for a moreaccelerated rate of increasing contributions up until reaching the pointof the employer's maximum matching-funds limit, and a less acceleratedrate of increasing contributions after reaching the “full match” point.

An embodiment of a computer system is described for generating at leastone proposed retirement savings plan contribution schedule for aretirement savings plan on behalf of a user. The system comprises acomputer system comprising one or more computing devices and aninput/output interface that is configured to receive input from a userdesiring a retirement savings plan contribution schedule, where theinput comprises information about the user's salary, an availableemployer-sponsored retirement savings plan, and an available employermatching-funds program. The input/output interface is further configuredto present information to the user. The system also comprises at leastone repository of reference data for generating a retirement savingsplan contribution schedule, where the reference data comprisesgovernment-issued conditions and limitations associated with theemployer-sponsored retirement savings plan. The system also comprises acalculation engine executed by the computer system, where thecalculation engine is configured to receive the user input from theinput/output interface and to access the reference data from therepository. The calculation engine is further configured to use the userinput and the reference data to generate a proposed retirement savingsplan contribution schedule for presentation to the user via theinput/output interface, the proposed retirement savings plancontribution schedule specifying at least two different time periods inthe user's savings horizon, a first time period ending when the user'ssavings contribution reaches an employer's limit for matching funds anda second time period beginning when the user's savings contributionreaches the employer's limit for matching funds. The proposed retirementsavings plan contribution schedule specifies rates of savingscontributions increases for the two different periods, and theinput/output interface is further configured to receive an authorizationfrom the user for the proposed retirement savings plan contributionschedule. The system further includes a repository of client recordsconfigured to record the authorization in association with the user andthe retirement savings contribution schedule and a contributionmanagement application that is configured to receive information aboutthe authorized retirement savings plan contribution schedule and totrigger automatic contribution payments to a retirement savings plan inaccordance with the authorized retirement savings plan contributionschedule

An embodiment of a computer system is described for programmaticallycreating a contribution schedule for a retirement savings plan on behalfof a user. The system includes an input/output interface configured toreceive input from a user desiring a retirement savings plancontribution schedule, where the input includes information about theuser's salary and expected raises, an available employer-sponsoredretirement savings plan having an available employer matching-fundsprogram, the user's current level of contribution to the retirementsavings plan, and a desired standard-of-living increase from theexpected raises. The system also includes an output interface forpresenting information to the user, and a computer-readable mediumencoded with a computer program capable of execution by one or morecomputer servers. Execution of the computer program causes the one ormore servers to at least: store reference data pertaining togovernment-issued conditions and limitations upon saidemployer-sponsored savings plan; calculate a proposed retirement savingscontribution schedule that includes incremental increases to the user'scontribution level until the user's contribution level is equal to orgreater than a maximum employer matching contribution from the employermatching-funds program, and that includes the user's desiredstandard-of-living increases from the expected raises once the user'scontribution level is equal to or greater than the maximum employermatching contribution from the employer matching-funds program; presentthe schedule to the user using said output interface; and automaticallytrigger changes in contribution payments to said retirement savings planin accordance with said calculated retirement savings contributionschedule.

An embodiment of a computer system is described for generating at leastone proposed contribution schedule for a savings plan on behalf of auser. The system includes a computer system that includes one or morecomputing devices. The system also includes an input/output interfaceconfigured to receive input about a user desiring a savings plancontribution schedule, where the input includes information selectedfrom one or more of the following categories: the user's salary, theuser's expected raises, the user's expected annual raise date, theuser's standard-of-living increase from the expected raises, the user'sexpected retirement date, an available retirement savings plan, anavailable employer matching-funds program, the user's current savingscontribution schedule, and the user's savings portfolio value. Thesystem also includes a calculation engine implemented by the computersystem, where the calculation engine is configured to receive the userinput and to use the user input to generate a proposed savingscontribution in accordance with the user's desired standard-of-livingincrease. The proposed savings contribution schedule is presented to theuser via the input/output interface, and the input/output interface isfurther configured to receive an authorization from the user for theproposed savings contribution. The system also includes a repository ofclient records configured to record the authorization in associationwith the user and the savings contribution schedule and a contributionmanagement application that is configured to receive information aboutthe authorized savings contribution schedule and to trigger automaticchanges to contributions to a savings plan in accordance with theauthorized savings contribution schedule.

Embodiments of a computer-implemented method for managing retirementplan contributions are described. The method includes using one or morecomputer servers to execute software instructions stored on acomputer-readable medium, where the software instruction cause the oneor more computer servers to execute at least the following actions. Oneaction is receiving data for a user seeking a schedule for retirementsavings plan contributions, where the data includes information from oneor more of the following categories: the user's salary, the user'sexpected rate of increase in salary income, and a desired amount forincreasing the user's standard of living for the time period whilecontributions to the employer-sponsored retirement savings plan arebeing made. Another action is calculating a portion of the user'sexpected rate of increase in salary income to be used for increasingscheduled contributions to the employer-sponsored retirement savingsplan over time, where the portion is substantially equal to the expectedrate of increase in the user's salary income minus the expectedinflation rate and minus the desired amount for increasing the user'sstandard of living for the time period while contributions to theemployer-sponsored retirement savings plan are being made. Anotheraction is programmatically generating a proposed retirement savingscontribution schedule that is based at least in part on the receiveddata and on the calculated portion. Further actions are presenting theproposed retirement savings contribution schedule to the user via acomputer user interface that provides an option for the user toauthorize use of the proposed retirement savings contribution schedule,and, in response to receipt from the user of authorization to use theproposed retirement savings contribution schedule, as provided via theuser interface, initiating automatic changes in contributions to aretirement savings plan in accordance with the proposed retirementsavings contribution schedule.

Embodiments are also described in which a savings contribution strategyis generated that allows a client to designate time periods in thesavings horizon during which the client chooses to decrease and/or tohalt savings plan contributions.

For purposes of summarizing the invention, certain aspects, advantagesand novel features of the invention have been described herein. It is tobe understood that not necessarily all such advantages may be achievedin accordance with any particular embodiment of the invention. Thus, theinvention may be embodied or carried out in a manner that achieves oroptimizes one advantage or group of advantages as taught herein withoutnecessarily achieving other advantages taught or suggested herein.Accordingly, neither this summary nor the following detailed descriptionpurports to define the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features will now be described with reference to thedrawings summarized below. These drawings and the associated descriptionare provided to illustrate preferred embodiments of the invention, andnot to limit the scope of the invention.

Throughout the drawings, reference numbers are re-used to indicatecorrespondence between referenced elements. In addition, the first digitof each reference number indicates the figure in which the element firstappears.

FIG. 1 is a block diagram depicting one embodiment of a contributionmanagement system.

FIG. 2 is a flowchart depicting one embodiment of a method forcalculating and displaying the results of various contribution plansbased on standard of living increases from raises.

FIG. 3 is a flowchart depicting one embodiment of a method forcalculating and updating a contribution plan and for triggeringcontribution payments based on the plan.

FIG. 4 is a flowchart depicting one embodiment of a method forcalculating values and arrays that may be used for creating contributionplans for visualization/educational purposes and/or for triggeringcontribution payments based on a plan.

FIG. 5 depicts one example of inputs and a table of results generated bythe contribution management system.

FIG. 6A depicts a first example of a visualization chart that may begenerated by the contribution management system based on a client'sinputs.

FIG. 6B depicts a second example of a visualization chart that may begenerated by the contribution management system based on a client'sinputs.

FIG. 7 depicts two examples of visualization charts portrayingstochastic calculations that may be generated by the contributionmanagement system based on a client's inputs.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention provides automated systems and methods forcalculating and generating personalized schedules for contributing to asavings plan, such as to a 401(k) program, other employer-sponsoredretirement savings plan, and other non-retirement savings plans.

In one embodiment, the system is configured to accept as inputsinformation about a client's current salary, current savings behavior,expected raises, and additional personal information relevant to adetermination of probable need for funds during retirement. The systemalso accepts as inputs details about a retirement savings plan sponsoredby the employer and other relevant information available fromgovernmental, insurance agency, and financial institutions, in order tocalculate the outcomes of a variety of savings strategies available tothe client. The calculations may then be used to provide data forcreating displays for educational and visualization purposes as well asto administer retirement fund payment contributions for the client basedon a strategy selected and authorized by the client.

In one embodiment, the system may be configured to determine whether theclient is taking full advantage of the employer's matching program.Graphic visualization displays provided by the system may be used toeducate the client regarding the benefits of taking advantage of theemployer's full match as early as is feasible.

The system may be further configured to assess the probable effect ofinflation on a client's expected annual raises and retirement portfoliovalue. Regarding raises, the difference between the nominal raise, thatis, the raise in today's dollars as it is listed on paper and offered bythe employer, and the inflation rate may be called the client's “realraise” or “real salary increase,” since that is the portion of thenominal raise that is available for increasing the client'sstandard-of-living as measured by buying power. A client may choose tocontribute the “real salary increase” portion of an annual raisereceived and still be able to enjoy the same buying power as in theprevious year. Alternatively, a client may choose to contribute aportion of the “real salary increase” to retirement savings and still beable to enjoy an increase in standard-of-living, albeit a smallerincrease than if the entire annual raise had been kept and not saved.

Combining the influences of inflation and “real raises,” the system mayaccept information from the client regarding whether the client iswilling to forego any portion of the expected upcoming “real raises” inorder to reach full employer match more quickly. Combinedcalculation/visual/financial capabilities in the system allow the systemto generate personalized savings strategies for the client and topresent expected outcomes of the strategies to the client using avariety of formats, such as graphical, tabular, and text-based. Ifdesired by the client/employee, the system may create a personalizedtwo-stage savings strategy that calls for more aggressive saving (thatis, foregoing more of the client's “real raises”) up until the point atwhich full employer match is attained, and for less aggressive savingfrom that point forward.

In some embodiments, the system has access to information that takesinto account the stochastic nature of most savings portfolios, which isto say, the element of chance that the portfolio will perform aspredicted. The system may be configured to provide the client withvisual, graphical, and/or text-based information that incorporates thestochastic information for enhanced decision-making capabilities. Othermulti-staged savings strategies may be created using embodiments of thesystems and methods described herein, including strategies that allow aclient to designate one or more time periods during which contributionsto a savings plan will be decreased and/or stopped altogether.

Throughout the text, the term “client” is to be understood to mean anemployee, contributor, or other user who desires assistance in creatingan advantageous savings scheduling strategy, and does not of itselfimply any particular business relationship or payment agreement. Thus, aclient, for purposes of this application, is someone who makes use ofthe systems and methods described herein, either directly or via anintermediary, for purposes that may be educational and/or may implementor trigger ongoing, automated direction of in the client's savingscontributions.

Furthermore, it may be useful to clarify the notion of the client's“savings horizon,” which, basically, is the time until the client'sretirement, or in other words, the time during which the client maycontribute earned dollars towards retirement savings.

Preferred embodiments of the automated contribution systems and methodswill now be described with reference to FIGS. 1-7. Throughout thedescription, embodiments of the systems and methods that are directed tocontributions made to an employer-sponsored retirement savings plan aredescribed. These details are provided in order to illustrate preferredembodiments of the invention, and not to limit the scope of theinvention. The systems and methods may be applied to various savingsplans that may or may not be sponsored by an employer. The scope of theinvention is set forth in the appended claims.

FIG. 1 is a block diagram depicting one embodiment of a contributionmanagement system 100. As depicted in FIG. 1, the contributionmanagement system 100 may be accessed by a client or by another partyacting on behalf of the client from a client computer 110 that is incommunication with the contribution management system 100 using acomputer network such as the Internet or an Intranet. A client may usethe client computer 110 to transmit to the contribution managementsystem 100 information about the client's current retirement plansituation and preferences. The contribution management system 100 usesthe client information, along with other information to generate one ormore retirement savings contribution schedules for presentation to andfor approval by the client or another party working on behalf of theclient. The client may further receive from the contribution managementsystem 100 via the client computer 110 requests for additionalinformation, as well as data regarding the outcomes of variousretirement plan contribution schedules available to the client.

The data from the contribution management system 100 may be presented bythe client computer 110 to the client in any of a variety of formats,including as charts, graphs, tables, or formatted text. In otherembodiments, the data may be presented to the client as one or more atext-based or graphics-based data files, as an email, a fax, ahyperlink, an HTML-based Web page or other online, or other form ofcommunication using an audio and/or video format.

The client computer 110 may be implemented to communicate with thecontribution management system 100 using a variety of systems andprotocols. In one embodiment, the contribution management system 100 isimplemented as a stand-alone program that may be stored within and usedon a desktop computer that may also serve as the client computer 110,thus eliminating a need for remote communications between the two.

The contribution management system 100 may be further configured tocommunicate, via Internet, intranet, or other computer-based, usingwired or wireless communications media, with a plan sponsor 170, such asan employer that sponsors a 401(k) or other retirement savings plan forits employees. The contribution management system 100 may additionallyor alternatively be configured to communicate with a plan provider 180,such as a retirement plan administrator or a wealth management systemthat provides a broader range of financial services to individuals andother entities. In particular, the contribution management system 100may obtain from the plan sponsor 170 and/or the plan provider 180details about one or more retirement savings plans offered by the plansponsor 170 that may be used by the contribution management system 100for generating proposed contribution schedules for the client. Thecontribution management plan 100 may also communicate with the plansponsor 170 and/or the plan provider 180 when the client elects to use aproposed contribution plan and authorizes the contribution managementsystem 100 to participate in triggering associated contributionpayments.

In some embodiments, the contribution management system 100 may operateas part of the plan provider 180 or wealth management system, such thatcommunications between the contribution management system 100 and theplan provider 180 may take place via internal communications systems. Insome embodiments, the contribution management system 100 may beconfigured as an application that is accessible to a benefitsadministrator of a large employer/plan sponsor who uses the contributionmanagement system 100 to educate and motivate clients as to the value ofcontributing towards retirement savings, and, in particular, ifapplicable, to attaining “full employer match.”

The embodiment of the contribution management system 100 depicted inFIG. 1 includes an input/output interface 120, a calculation engine 130,a repository of reference data 140, a repository of client records 150,and a contribution management application. The components 120, 130, 140,150 may be implemented using physical servers. The input/outputinterface 120 may, for example, be a Web-based application that runs ona physical server of a web site system.

The input/output interface 120 receives the user input from the clientand communicates the user input to the calculation engine 130 used forgenerating a variety of retirement plan contribution-related data, aswill be described in greater detail throughout the remainder of thespecification. The calculation engine 130 may be implemented as one ormore software or hardware modules or components for carrying out thefunctions of the calculation engine 130 as described throughout thespecification. For ease of description, the calculation engine 130 willbe referred to in the singular throughout the text. The input/outputinterface 120 may further transmit the data generated by the calculationengine 130 to the client to provide the client with information that isviewable and usable in a variety of formats, such as, in the form ofcharts, graphs, tables, spreadsheets, and text documents that may helpthe client to understand long- and short-term consequences associatedwith various contribution-related decisions.

The calculation engine 130 is further configured to obtain informationfrom a repository of reference data 140 that may include, but is notlimited to, government data, insurance industry data, and financialindustry data. Government data may include any of a wide variety ofinformation useful to the calculation engine 130, most particularlyinformation about federal or other governmental regulations andlimitations regarding contributions to retirement savings plans.Insurance industry data may include actuarial information for men andwomen, married and single, of various ages and states of health that maybe used by the calculation engine 130 to determine a retirement horizonor expected lifespan during which the client will be spendingaccumulated retirement savings. Financial industry data may includeinformation on expected patterns of inflation and investment returnsfrom various savings vehicles that may be used by the calculation engineto predict the future value of contributions to retirement savingsplans. These and/or other types of reference information may be used bythe calculation engine in order to present information to the clientthat clearly describes the expected outcomes of variouscontribution-related decisions and may be used to create a retirementcontribution schedule to suit the client's personal situation.

As is well known in the art of computer storage technology, therepository 140 may be configured according to any of a wide variety ofmethodologies, using any of a variety of hardware and software products,and employing any of a variety of data structures, data retrievalmethods, and the like. Thus, it will be understood that the repository140 may be configured as a set of smaller repositories of referencedata, or even that the repository 140 may, for example, resideexternally to the contribution management system 100 and may be accessedby the contribution management system 100 using a form of remotecommunications system.

The client may elect to make retirement contributions based on acontribution schedule presented by the contribution management system100. In a preferred embodiment, the calculation engine 130 may transmitinformation about the selected contribution schedule and about theclient's retirement plan to a contribution management application 160that is configured to trigger payments on behalf of the client based onthe elected contribution schedule.

As further depicted in FIG. 1, the calculation engine 130 maycommunicate with a repository of client records 150. For clients whohave previously input personal and employer information into thecontribution management system 100, and who may wish to update theircurrent retirement contribution plan, the client records repository 130may store a record of the inputted data that may be used as a basis forcalculating a new plan. Furthermore, the client record repository 150may be used to store arrays and other results of calculations generatedby the calculation engine 130 for use in creating informational displaysand what-if scenarios that may help the client understand theimplications of various savings contribution payment schedulingstrategies. In some embodiments, arrays and other calculated values thatpertain to a contribution scheduling strategy other than one selectedand authorized by the client may be deleted from the client recordsdatabase 150 once a scheduling strategy has been selected.

As further depicted in FIG. 1, the calculation engine 130 maycommunicate with the contribution management application in order totrigger communications with the employer or other plan sponsor 170and/or with the plan provider or administrator 180. In particular, ifthe client elects to make contributions to a savings plan based on acontribution schedule proposed by the contribution management system100, the client may also authorize the contribution management system100 to initiate payment of the contributions or to communicateinformation about the elected schedule to other entities for initiatingpayments and scheduled changes to payments amounts as specified by theschedule.

FIG. 2 is a flowchart that depicts one embodiment of a process 200 forcalculating and displaying to the client the results of varioushypothetical contribution schedules, based, at least in part, onexpected standard-of-living (SOL) increases derived from the client'sraises in salary.

In Block 210, the calculation engine 130 receives personal informationabout the client, and, in some embodiments, about the client's spouse.The calculation engine may receive the information from the input/outputinterface 120 and/or from records of information about the client thatare stored in the client records repository 150. The information aboutthe client may comprise information about the client's salary, expectedannual raises, expected number of years before retirement, currentsavings contribution schedule, current savings portfolio amount, assumedaverage return on the portfolio, and current state of health.

In Block 220, the calculation engine 130 receives information about theclient's employer in its capacity as retirement savings plan sponsor170, namely, whether it matches employee contributions to the retirementplan and, if so, with what restrictions and limitations. For example,does the company fully match the employee's contributions, or does itmatch a portion of the contributions, such as matching 50% of theemployee's contributions? Are there minimum and/or maximum limits placedon how much the employer is willing to match within a given year, andare the limits expressed as percentage rates or dollar amounts? Is thereany other employer-related information available that is useful forgenerating one or more proposed contribution plans?

In Block 220, the calculation engine 130 further receivesgovernment-related information that pertains to retirement savings plansand related issues, such as maximum limits for how much a client maycontribute to a retirement savings plan within a given year and, ifusable by the calculation engine 130, information about tax rates andregulations.

In Block 230, the calculation engine 130 receives information from theclient regarding a level of standard-of-living (SOL) increase that theclient is willing to accept while dedicating a portion of future raisesto retirement fund contributions. In some embodiments, the client'sstandard-of-living preference may be expressed as two percentages, toreflect a two-staged preference: one to define contribution rateincreases before the point where the employer's matching limit isreached, and one to define contribution rate change after the employer'smatching limit is reached. For example, in FIG. 5, in the table entitled“Example Inputs,” the boxed and bolded lines show that the client haselected to contribute 75% of real annual salary rises to the retirementfund up until the point at which full employer match level is reached,and to drop the rate of contribution increase thereafter down to 25%.

In Block 240, the calculation engine 130 performs calculations togenerate one or more proposed contribution schedules for presentation tothe client. The calculation engine 130 may generate a contributionschedule that represents the client's current contribution activity. Thecalculations make use of the information received in Blocks 210, 220,and 230, as well as on information from the reference repository 140.The calculations will be described in detail with reference to FIG. 4.

Still in Block 240, the contribution management system 100 may use thegenerated schedules and associated data to present to the clientdepictions of the proposed schedules, and, in some embodiments, topresent comparisons with the client's current contribution plan.

In Block 250, the contribution management system 100 presents the clientan opportunity to modify some or all of the input data and thus tocreate what-if scenarios that may provide the client with educationalassistance for decision-making. For example, the client may wish to bepresented information about the effects of dedicating a differentpercent of real annual raises towards retirement savings. If the clientso chooses, the client may update inputs in Block 260, and the process200 returns to Block 240. Otherwise, if the client does not wish to viewthe effects of additional changes to the inputs, the process 200 ends.

FIG. 3 is a flowchart that depicts one embodiment of a process 300 forcalculating and updating a contribution plan and for triggeringcontribution payments based on the plan. Blocks 305, 310, 315, 320 and325 represent the obtaining of data about the client, about theemployer's retirement savings plan, about the client'sstandard-of-living preferences, and about relevant governmental andeconomic information. However, in Block 330, the client selects aproposed contribution schedule and authorizes the contributionmanagement system 100 to trigger the associated contribution payments tothe client's retirement savings plan.

In Block 335, the contribution management system 335 determines if a newfiscal year has begun since the most recent contribution payment, or ifthe system 100 has received new input from the client. If no changes ornew input has occurred, the process 300 cycles back to Block and waitsto trigger the next scheduled contribution payment.

Blocks 336-344 depict a portion of the process 300 that updates theproposed contribution plan. If a change has occurred, the process moveson to Block 336, where the calculation engine 130 receives the updatedinformation. In Block 337, the calculation engine 130 determines whetherthe employer's full match level has been reached by the client'scontribution plan. If full match level has not been reached, at Block338 the process 300 increases the current contribution payment amount bya Before Full Match (BFM %) amount generated by the calculations engine.If full match level has been reached, at Block 339 the process 300increases the current contribution payment amount by an After Full Match(AFM %) amount generated by the calculations engine.

In Block 340, the calculation engine 130 determines whether the newlycalculated contribution payment amount is within the contribution limitsset by the employer. If yes, the process 300 moves on to Block 342. Ifnot, in Block 341, the payment amount is adjusted to comply with companylimits before moving on to Block 342.

In Block 342, the calculation engine 130 determines whether the newlyadjusted contribution payment amount is below the maximum contributionlimit set by the federal government. If yes, the process 300 moves on toBlock 344. If not, in Block 343, the payment amount is reduced to complywith company limits before moving on to Block 344.

Once the updates and adjustments have been made and stored in the clientrecord repository 150, the process 300 returns to Block 330, where thecontribution management system 100 continues to trigger contributionpayments on behalf of the client and to check whether it is time for anupdate.

FIG. 4 is a flowchart that depicts one embodiment of a process 400 forcalculating values and arrays used by the contribution management system100 to create contribution schedules for visualization and educationalpurposes and/or for triggering contribution payments based on a selectedcontribution schedule. The process 400 comprises calculations that allowfor the presentation of information in a variety of graphs, charts, andother easily-understandable formats to the client regarding, forexample, proposed amounts and schedules of savings plan contributionsper year, comparisons with alternate contribution schedule plans, aswell as the effects of each in terms of portfolio value across theclient's savings horizon. The process 400 is described with reference tothe flowchart of FIG. 4 and with reference to TABLES 1-5, which presentsample calculations for one embodiment of the process 400 that arewritten using computer code syntax compatible with Microsoft Excelspreadsheet applications. It is to be understood, however, that thesystems and methods described herein are not limited to embodiments thatare encoded in a given computer language or executed with a givencomputer application. Rather, embodiments of the systems and methods maybe implemented using computer code written in Java, C++, or any of avariety of other computer languages, and may be configured to run on avariety of computer platforms. As described above, the contributionmanagement system 100 may be implemented as a stand-alone system, aspart of more comprehensive wealth management system, as or an adjunct tocomputer applications already used by a financial planner, a retirementplan administrator, an employee benefits coordinator, or other partyinterested in educating clients about savings plans and/or inadministering client payments to the plans.

Returning now to FIG. 4, the process 400 begins at Block 410 when thecalculation engine 130 receives basic inputs from one or more of: theinput/output interface 120, the client records repository 150, and thereference data repository 140. Data received from these sources isassigned to variables used by the calculation engine 130, as exemplifiedby the Excel-based code in TABLE 1. Here, basic information about theclient is encoded, such as age, gender, health status, expectedretirement age, current salary, expected annual raises, and a currentvalue of the client's savings portfolio.

Additional inputs available from government, insurance, and othersources regarding Internal Revenue Service (IRS) regulations, theConsumer Price Index, mortality tables, and the like are encoded for usein the calculations.

In addition, in the embodiment associated with the inputs listed inTABLE 1, the client may choose whether future increases in savingscontributions will be based on a constant percentage of salary or basedon an acceptable level of standard-of-living increases associated withfuture raises. In TABLE 1 and in the tables to follow, the model basedon standard-of-living increases is named the “Lifestyle” model.Furthermore, for either model, the client has the option of selectingtwo contribution increase rates: one for the period of time before theclient's contribution rate meets or exceeds the employer's full matchlimit (BFM—before full match), and one for after the full match limithas been reached (AFM—after full match). Thus, the illustratedembodiment allows for a two-stage contribution schedule, or, if the AFMand BFM values are the same, for a one-stage contribution schedule.

TABLE 1 Basic Inputs currentAge = MIN(70,MAX(17,Age_Now_Input))retireAge = MIN(100,MAX(Retire_Age_Input,currentAge+1)) gender =IF(gender_Input = 1,1,2) health = IF(health_Input = 1,1,2) currentSalary= MAX(Wages_Now_Input,5000) salaryIncrease =MIN(0.25,MAX(0,Annual_Raises_Input / 100)) currentContrib =MIN(0.4,MAX(0,Current_Contribution_Rate_Input / 100)) matchPercent =MIN(1,MAX(0,Company_Match_Percent_Input / 100)) matchLimit =MIN(1.0,MAX(0,Company_Match_Up_To_Input / 100)) employeeContributionMax=  MIN(1.0,MAX(0,Company_Employee_Max_Limit_Input / 100))employeeContributionMin = MIN(1.0,MAX(0,Company_Employee_Max_Limit_Input / 100)) cpiEstimate =MIN(salaryIncrease−0.0000001,MAX(0,Annual_Inflation_Input / 100))portfolioReturn = MIN(0.12,MAX(0.04,Portfolio_Return_Input / 100))portfolioBalance = MAX(0,Portfolio_Balance_Input)lifestyleOrConstantMethod = 1 constantPercentBFM =MIN(0.5,MAX(0,ConstantPercentEntryBFM / 100)) constantPercentAFM =MIN(0.5,MAX(0,ConstantPercentEntryAFM / 100)) percentRealAdded =MIN(25,MAX(0,Percent_of_Raise_Input / 100)) percentRealAddedAFM = MIN(25,MAX(0,Percent_of_Raise_Input_After_Full_Match / 100))lifeExpectancy = 25.60

In various other embodiments of the contribution management system 100,the client may be offered a variety of additional and/or alternativeoptions for the creation of personalized savings contributionstrategies. For example, the client may be offered the option ofspecifying fixed increases, also known as step-ups, in the contributionrate, which may be defined in terms of dollar amounts or percentages,such as a fixed increase in percentage of the client's salary. Theclient may be offered the option to define increases as a portion ofraises received. In the embodiment shown in TABLE 1, the client has theoption of basing contribution increases on real raises, which has beendefined above as the nominal raise minus the effects of inflation. Theclient may be offered the option of specifying contribution increases asa percentage of nominal raises. Furthermore, the client may be offeredthe option of designating one or more time periods during the client'ssaving horizon during which time the client prefers to limit, stop, orotherwise specify contributions or a method of calculatingcontributions.

TABLE 2 Initial Calculations firstFullMatchYearContrib = matchLimit /matchPercent savingHorizon = retireAge−currentAge realSalaryIncrease =((1+salaryIncrease) / (1+cpiEstimate)−1) realTaxableGrowth =(1−percentRealAdded)*realSalaryIncrease realTaxableGrowthAFM =(1−percentRealAddedAFM)*realSalaryIncrease realSalaryFactor =realSalaryIncrease / (1+realSalaryIncrease) firstContribIncrease =percentRealAdded*(1−currentContrib)*realSalaryFactorannualContribIncrease = (1−currentContrib − firstContribIncrease ) * realSalaryFactor * percentRealAdded / firstContribIncreasefirstContribIncreaseAFM = percentRealAddedAFM * (1−currentContrib) *realSalaryFactor annualContribIncreaseAFM = (1−currentContrib−firstContribIncreaseAFM) *realSalaryFactor*percentRealAddedAFM / firstContribIncreaseAFM

In Block 420 of FIG. 4, the calculation engine 130 performs initialcalculations, using the basic input described, as exemplified by theExcel-based code in TABLE 2. In the embodiment shown in TABLE 2, thecalculation engine 130 calculates a full match contribution rate, whichis a contribution level expressed as a percentage of salary thatmaximizes the employer's matching contribution. The full matchcontribution rate may be seen as a contribution level goal for theclient to reach. Some contribution schedules generated by thecontribution management system 100 may use the point at which the clientreaches the full match contribution rate as a turning point for atwo-staged “lifestyle” model in which the client contributes at a higherrate before reaching full match (BFM) in order to more quickly attainthe benefits of full employer matching contributions. For example, theclient may choose to forego standard-of-living increases available fromannual raises, and may instead choose to contribute the portion of theannual raise that goes beyond maintaining a current standard of living.Some clients using a two-staged “lifestyle” model may prefer to lowerthe acceleration rate of their savings contributions after full matchhas been attained (AFM) and may at that point choose to retain a greaterportion of their salary increases for immediate spending availability.

TABLE 2 further presents equations for calculating a portion of futuresalary raises that goes beyond the inflation rate as measured by theConsumer Price Index and that represents a “real salary increase” whichmay be used to increase the client's current standard-of-living, if notcontributed to savings. Other calculations, such as those listed forrealTaxableGrowth and realTaxableGrowthAM allow the calculation engine130 to factor in the effect of taxes in generating contributionschedules. Other embodiments may use the nominal raise as offered by theemployer without considering the effects of inflation and/or may notconsider the tax implications on the value of current and futuredollars.

In Block 430 of FIG. 4 the calculation engine 130 creates an initial setof arrays based on the basic inputs and the initial calculations ofBlocks 410 and 420 above. APPENDIX A, at the end of this specification,presents one embodiment of a set of array definitions written in codefor a Microsoft Excel application. In the example presented in APPENDIXA, the length of the defined arrays is equal to the savings horizon ofthe client in years. Thus, if the client expects to have twenty-fiveyears before retirement, and thus twenty-five years more to save, thearrays created will be twenty five elements long to express the expectedchanges over the client's saving horizon, such as changes in clientsalary, contribution rate, value of the dollar, value of savingsportfolio, federal and other limits on contributions, and the like. Asone example, by looking up the client's age in ageArray[i] for a givenyear, the calculation engine 130 may determine whether the client isfifty years old or more and is thus permitted by IRS regulation tocontribute an additional “catch-up” amount of pre-tax dollars to a401(k) savings plan.

The arrays defined in APPENDIX A provide for a two-staged savingscontribution schedule allowing different rates of contribution increasebefore and after the client reaches the point of full matching-fundsfrom the employer. The arrays further incorporate input from the clientregarding a percentage of future real raises that the client is willingto dedicate to savings, allowing the generated contribution savings planto be personalized to suit the client's situation and preferences.

In Block 440 of the process 400, the calculation engine 130 performsarray lookups and subsequent calculations that allow the contributionmanagement system 100 to generate visual, textual, and other displays todemonstrate the effects of a proposed schedule of savings contributions.TABLE 3 presents one embodiment of array lookups and associatedcalculations, expressed as Excel-based code, which may be used togenerate a proposed savings contribution schedule for the client. Theembodiment depicted in TABLE 3 calculates a year when the client will beeligible for full matching funds from the employer and a number of yearsuntil full match is reached. Furthermore, the calculation engine 130makes use the array values to lookup information about the future valueof the client's portfolio and salary, including the effect of inflationon both.

TABLE 3 Array Lookups  yearFullMatchProposed = IF(ISNUMBER(MATCH(matchLimit,  employerProposedMatchPercentArray,0)),LOOKUP  (MATCH(matchLimit,employerProposedMatchPercentArray,0)− 1, arrayElementNum, calendarYearArray),“Never”)yearsUntilFullMatchProposed = LOOKUP(yearFullMatchProposed,calendarYearArray,  arrayElementNum)medianPortfolioValue =LOOKUP(savingHorizon−1,arrayElementNum,medianPortfolioEndValue)medianPortfolioValueEmployer = LOOKUP(savingHorizon−1,  arrayElementNum,medianEmployerPortfolioBalanceArray)currentPlanMedianPortfolioValue = LOOKUP(savingHorizon−1, arrayElementNum,currentPlanMedianPortfolioBalanceArray)currentPlanMedianPortfolioValueEmployer = LOOKUP(savingHorizon−1, arrayElementNum,currentPlanMedianEmployerPortfolioBalanceArray)lastYearDeflator =LOOKUP(savingHorizon−1,arrayElementNum,cpiDeflatorArray lastYearSalary =LOOKUP(savingHorizon−1,arrayElementNum,futureSalaryArray)lastYearSalaryDeflated = LOOKUP(savingHorizon−1,arrayElementNum,deflatedSalaryArray) lastYearTaxable =LOOKUP(savingHorizon−1,arrayElementNum,futureTaxableArray)lastYearTaxableDeflated = lastYearTaxable*lastYearDeflator

In Block 450 of FIG. 4, the calculation engine 130 calculates anexpected retirement income for the client, assuming that the clientelects to authorize contribution payments based on the proposedcontribution schedule. TABLE 4 presents Excel code for one embodiment ofthe retirement income calculations that include calculations fordetermining the portion of the retirement income that is due to employercontributions.

TABLE 4 Retirement Income - Proposed Plan annuityAnnualPayment =medianPortfolioValue / annuityPV1000Factor annuityAnnualPaymentDeflated= annuityAnnualPayment*lastYearDeflator incomeReplacementRatio =annuityAnnualPayment / lastYearSalary taxableReplacementRatio =annuityAnnualPayment / lastYearTaxable annuityAnnualPaymentEmployer =medianPortfolioValueEmployer / annuityPV1000FactorannuityAnnualPaymentDeflatedEmployer =annuityAnnualPaymentEmployer*lastYearDeflatorannuityAnnualPaymentFromMatchPercent =  annuityAnnualPaymentDeflatedEmployer /   annuityAnnualPaymentDeflatednextYearSOLincrease = LOOKUP(1,arrayElementNum,actualRealGrowthArray)avgSOLincrease = EXP(AVERAGE(logRealIncreaseArray))−1 yearsBeforeLimits= savingHorizon−COUNT(IF(proposedEmployeeDollarsContribArray>irsDollarLimitArray,  arrayElementNum)) yearLimitsReached = IF(yearsBeforeLimits =  savingHorizon,“Never”,LOOKUP(yearsBeforeLimits,   arrayElementNum,calendarYearArray)) yearFullMatchAchieved =IF(ISNUMBER(MATCH(matchLimit,employerMatchPercentArray,0)),  LOOKUP(MATCH(matchLimit,employerMatchPercentArray,0)−1,  arrayElementNum,calendarYearArray),“Never”)

In Block 460 of the process 400, the calculation engine 130 calculatesthe value of the client's retirement income, including portion derivingfrom employer contributions, if any, that is based on the client'scurrent saving contributions. TABLE 5 presents an example of Excel-basedcode for one embodiment of this portion of the process 400.

In Block 470 of the process 400, the contribution management system 100uses the calculations of the process 400 to create one or more displaysfor presentation to the client that may illustrate aspects of variouspossible contribution savings schedules and may illustrate comparisonsbetween them and the client's current savings contributions, thushelping the client to understand the implications of various savingsschedules.

TABLE 5 Retirement Income - Current Plan currentPlanAnnuityAnnualPayment= currentPlanMedianPortfolioValue /   annuityPV1000FactorcurrentPlanAnnuityAnnualPaymentDeflated =currentPlanAnnuityAnnualPayment*lastYearDeflatorcurrentPlanIncomeReplacementRatio = currentPlanAnnuityAnnualPayment /lastYearSalary currentPlanTaxableReplacementRatio =currentPlanAnnuityAnnualPayment / (lastYearSalary*(1− currentContrib))currentPlanAnnuityAnnualPaymentEmployer =currentPlanMedianPortfolioValueEmployer / annuityPV1000FactorcurrentPlanAnnuityAnnualPaymentDeflatedEmployer =currentPlanAnnuityAnnualPaymentEmployer*   lastYearDeflatorcurrentPlanAnnuityAnnualPaymentFromMatchPercent =currentPlanAnnuityAnnualPaymentDeflatedEmployer /  currentPlanAnnuityAnnualPaymentDeflatedcurrentPlanLastYearTaxableDeflated =lastYearSalary*(1−currentContrib)*lastYearDeflatorcurrentPlanNextYearSOLincrease =LOOKUP(1,arrayElementNum,currentPlanActualRealGrowthArray)currentPlanAvgSOLincrease =EXP(AVERAGE(currentPlanLogRealIncreaseArray))−1currentPlanYearsBeforeLimits = savingHorizon−COUNT(IF(currentPlanProposedEmployeeContribArray>  (currentPlanEmployeeContribArray + 0.00001),arrayElementNum))currentPlanYearLimitsReached = IF(currentPlanYearsBeforeLimits =  savingHorizon,“Never”,LOOKUP(currentPlanYearsBeforeLimits,  arrayElementNum, calendarYearArray)) currentPlanFullMatchYesNo =IF(matchPercent*currentContrib> = matchLimit,1,2)

FIG. 5 depicts one example of inputs and a table of results generated bythe contribution management system. As depicted in FIG. 5, clients mayenter information regarding personal information and information abouttheir employer-sponsored savings plan, and the calculation engine 130 isable to display information about a variety of contribution plans thatit has generated, which the client may examine and may choose toauthorize.

FIGS. 6A and 6B depict two examples of visualization graphs that may begenerated by the contribution management system 100 based on theclient's inputs and the calculations performed by the calculation engine130. The graphs may be displayed to the client to help illustrate theconsequences saving for retirement according to various contributionschedules. For example, the chart in FIG. 6A illustrates four strategiesfor managing the client's annual income for each year until age onehundred. The chart illustrates the fact that while contributing nothingtowards savings may allow for a higher level of income during theclient's pre-retirement years than does contributing any portion of theclient's salary, it also results in a lower annual income in the yearsfollowing retirement. Implementing a two-staged contribution schedule inwhich 100% of future raises, except for what is needed to maintain theclient's current standard-of-living, is saved up until the full employermatch point is reached at approximately age forty-seven, and keeping100% of raises thereafter, results in a post-retirement annual incomethat is approximately $22,000 higher than that if the client chooses tosave no money. At the same time, the pre-retirement income is onlyslightly lower. One of ordinary skill in the art of financial planningand analysis will be familiar with additional ways in which the datacalculated by the calculation engine may be used to produce graphicdisplays useful for educating clients about the advantages anddisadvantages of various contribution schedules, including choosing notto contribute at all.

For example, the chart of FIG. 6B, also calculated using the clientinputs and other input data, illustrates that contributing even a smallamount towards savings provides a great advantage. For example,contributing 50% of Real Annual Raises gives 73% of the benefit ofcontributing 100% of Real Raises.

FIG. 7 depicts two examples of bar charts that visually portraystochastic calculations which may be generated based on a client'sinputs by some embodiments of the contribution management system 100.Stochastic calculations take into account the fact that the monies in asavings portfolio are typically invested in one or more financialvehicles with the intent of earning a profit on the return, and are thusalso subject to an element of chance that the investment may not achieveits expected return. Thus, the stochastic calculations provide a greaterdegree of sophistication and precision than do calculations that rely onan average estimated level of performance to accurately predict futureportfolio performance. The two bar charts of FIG. 7 present the client'sexpected initial retirement portfolio at various percentile markers interms of full dollar value and in terms of annual income generated,based on both the client's current contribution plan and on a proposedsavings plan. Thus, the charts visually present to the client a morerealistic view of the advantages of the proposed savings plan acrossvariety of outcomes of varying probabilities, and may encourage the userto dedicate a greater portion of current earnings towards retirementsavings in order to increase the chances of a desired future outcome.

The bar charts of FIG. 7 each illustrate three possible portfoliooutcomes based on the client's current savings contribution plan, which,as depicted in the example of FIG. 7, is contributing 2% of the client'ssalary per year, and three possible portfolio outcomes based on theproposed savings contribution plan, which is contributing 80% of realsalary increases until full employer match is reached, and contributing50% of real salary increases thereafter.

The three possible portfolio outcomes for each plan correspond to threedifferent percentiles. The median is the fiftieth percentile, with fiftypercent chance that the outcome will be above the result shown and afifty percent chance that it will be less. The contribution managementsystem 100 may be configured to calculate and display to the client twoadditional worse outcomes, so as not to give the client a false sense ofconfidence in their retirement projections. For rapid calculations inthese and other what-if scenarios, the contribution management system100 may calculate the outcomes using formulas described below ratherthan with the use of Monte Carlo simulation, which may call forthousands of simulations to be run and then sorted. The results of thetwo methods are similar and the client's experience may be enhanced byan attendant reduction in wait time for results to be displayed.

The contribution management system 100 may allow the client to set thepercentiles of the displayed outcomes as a client input or may usepercentile levels that pre-determined. For example, as shown in the FIG.7 example, the median 50-50 outcome of the proposed plan may be$811,343, but the twenty-fifth percentile may be only $647,390. Thisindicates that there is a one-in-four chance that the outcome could be$647,390 or less. The tenth percentile could be $535,474. This indicatesthat there is a one-in-ten chance that the outcome could be $535,474 orless.

The contribution management system 100 may calculate a variety ofpercentile levels, both higher and lower, for presentation to theclient. For example, given the inputs of the example in FIG. 7, theninetieth percentile level may be $2,000,000, indicating that there is anine-in-ten chance that the actual portfolio value upon retirement maybe $2,000,000 or less, while at the same time indicating that there is aone-in-ten chance that the actual portfolio value upon retirement couldbe $2,000,000 or higher.

To avoid confusion by showing too many numbers, or numbers that are highwith only a remote chance of being attained, a preferred embodiment ofthe contribution management system presents three percentiles—median,lower, and lower yet—that may provide the client with a useful tool forunderstanding retirement planning choices.

Given the client's expected annual arithmetic portfolio return as aninput, the calculation engine 130 may calculate a range of possibleoutcomes. The expected annual arithmetic portfolio return may be anumeric value input to the system 100 as a client input or may bederived from a model portfolio of investments that the user has chosen.In one embodiment, the calculation engine 130 generates two arrays ofnumbers, each two hundred elements long. The two arrays represent riskand return points along an efficient frontier generated using ModernPortfolio Theory. A first array comprises portfolio returns ranging froma most conservative (money markets) to a most aggressive (small-capgrowth equities). A second array comprises annual normal standarddeviations that are pair-wise associated with the portfolio returnsarray.

Given an expected arithmetic return, the calculation engine 130 mayperform array lookups that generate an associated annual normal standarddeviation. As described above, a Savings Horizon is a numericalexpression of a number of years that the client expects to continuecontributing to the selected savings plan. Risk diminishes over time,and a horizon standard deviation is calculated by multiplying the annualstandard deviation times the square root of the Savings Horizon. If thearray lookup standard deviation is 10.82% and the Savings Horizon is 28years, the adjusted portfolio standard deviation at the Savings Horizonis 57.25%. (The square root of 28 is 5.29, and multiplying by 10.82%gives 57.25%)

The calculation engine 130 may convert the expected arithmetic returninto a geometric mean using its associated annual normal standarddeviation. A median value of a log-normal distribution is its geometricmean. The geometric mean is then converted into a normal mean by takingthe logarithm of one plus the geometric mean. The normal mean is thenmultiplied by the Savings Horizon to find a portfolio relative value.For example: If the arithmetic return is 9.00%, then the geometric meanis 8.36%, and the normal mean is 8.03%, and the portfolio mean relativehorizon value is 224.91%.

The calculation engine 130 may use normal function probability formulasto find Z values given the percentiles chosen. Z values are how manystandard deviations a result varies from the expected mean. For example,the single-tail Z value for the tenth percentile is 1.282—onlyone-in-ten times will the result be 1.282 or more standard deviationsbelow the mean.

The outcome for the example portfolio of FIG. 7 is 224.91% (its meanrelative horizon value) less 1.282 times 57.25% (its horizon standarddeviation) resulting in a terminal normal relative return equal to151.53%. Dividing this by 28 (the Savings Horizon) gives an annualnormal return of 5.41%. The annual normal return is then converted to anannual geometric return by taking its anti-log and subtracting one,i.e., 5.56%.

The result in this example is that there is a one-in-ten chance (thetenth percentile) that this 9.00% expected return portfolio will have anannual geometric return of 5.56% or lower. The calculation engine 130may then use this 5.56% return to calculate the worst one-in-ten dollaroutcome for the savings plan. With iterations, the calculation engine130 may determine returns and dollar outcomes for a number of risklevels (percentiles) as the user desires. The 5.56% shows in the thirdcolumn of the Annual Rates of Return Table from FIG. 7.

As a benefit of this feature, if the client desires to risk only a 25%chance of missing his/her retirement income goals (the twenty-fifthpercentile), the client may decide to instruct the contributionmanagement system 100 to increase contribution increases more rapidly tothe point where the twenty-fifth percentile outcome meets the retirementoutcome goals.

Clients may find that a chart depicting initial retirement income asopposed to initial portfolio value may help them to understand moreclearly how much they will need to save for their desired level ofretirement wealth. The calculation engine 130 may be configured to usean annuity present value factor unique to each user using actuarialformulas, as described below, for converting retirement portfoliodollars to retirement income dollars. In a preferred embodiment, theformulas are applied using mortality rate tables as published by TheSociety of Actuaries, which are computed using millions of actual liferesults, making the formulas more accurate and certainly faster thanMonte Carlo simulation.

The annuity factor may be divided into the portfolio balance uponretirement to estimate the client's income in the first year ofretirement. Provisions are made for escalating retirement income, forexample, by 3.0% per year, to offset the effects of inflation. Clientsmay be shown streams of retirement income in both nominal (future) andreal (today's) dollars. Real dollars are informative because people areused to thinking in terms of today's prices.

In one embodiment, the calculation engine 130 obtains inputs regardingthe client's current age, gender, state of health, and whether theportfolio will have single or joint beneficiaries. If the client has aspouse or partner, the current age, gender, and state of health of thespouse or partner is also input to the calculation engine 130. If asingle beneficiary is indicated, any spouse or partner entries may beignored. Additional input used for calculating annuity present valuefactor according to the embodiment include: a deferred start year(generally the saving horizon, zero would be an immediate annuity); ifjoint, a survivor's payout ratio; an annuity's discount rate; anannuity's annual escalation rate (growth in annual income), and anannuity's term certain period (zero years means that there is no certainperiod and that annuity income stops when no beneficiary is living).

In one embodiment, the state of health and gender entries determinewhich of four mortality tables to apply. Average health may indicate useof the U.S. Census Decenniel 2000 Tables for males or females (generalpopulation). Excellent health may indicate use of the U.S. IndividualAnnuitant Mortality 2000 Tables for males or females (annuitants).

A deferred start year is used with schedules of improvements in futuremortality as published by the Society of Actuaries. As people takebetter care of themselves and health care improves, future mortalityrates may fall. For example, a person 35 years old today who expects toretire at age 60, may have lower annual mortality rates when they reach60 in 25 years than the annual mortality rates of someone who is 60 now.

The current age(s) input plus the deferred start year gives the age(s)at annuitization, which is the process of converting portfolio balancesto annual or monthly income. These “start spending” age(s) combined withappropriate mortality tables (adjusted for future improvements inmortality) may used to generate annual survivorship chances to a pointwhere the younger beneficiary turns 121 years old (the tables stop atage 120). If there are two beneficiaries, two survivorship numbers areneeded for each year—the chance that both are alive and the chance thatonly one is alive. The second number is needed to calculate figures ifthe sole survivor's benefit is less than 100% of the annuity payout whenboth annuitants are alive. For example, an annuity may pay $2,000 eachmonth when both beneficiaries are alive and then fall by one-third to$1,333 each month if only one annuitant is alive.

Given the annuity's discount rate and annual escalation rate (if any),the calculation engine 130 calculates a present expected value (theannuity factor) of payouts reflecting chances of survivorship. TABLE 6below shows results for 34-year-olds who expect to retire at age 62. Anannuity factor of 13.12 from the table below is used to generate thecharts of FIG. 7.

TABLE 6 A B C D E Single Single Joint ⅔ to Joint 100% to JointParameters Fixed Escalating Survivor Survivor Escalating Survivor PayoutN/A N/A 66.67% 100.00% 100.00% Annuity Discount Rate 6.00% 6.00% 6.00%6.00% 6.00% Income Growth Rate 0.00% 3.00% 0.00% 0.00% 3.00% AnnuityFactor 13.12 17.97 13.24 14.33 20.18 $250,000 would give: Annual Income$19,056 $13,910 $18,877 $17,441 $12,386 Monthly Income $1,640 $1,197$1,625 $1,501 $1,066

Note that escalating payments materially impact an initial income level.See columns A and B in TABLE 6. In column B, retirement income iscalculated as growing by 3.0% each year. With no Income Growth Rate(column A), annuitants receive more income initially, but inflation mayerode their purchasing power each year.

In the TABLE 6 above, column C shows a case where benefits will fall byone-third if either beneficiary dies. The contribution managementsystems and methods also provide for annuity factors where a primarybeneficiary continues to receive 100% of joint benefits after thespouse/partner dies, but if the primary beneficiary dies, thespouse/partner will receive reduced income if that option was selected.

The contribution management systems and methods also provide for annuityfactors that include a term certain period. A term certain is aguarantee that income will continue for a given number of years even ifall annuitants die before the certain period has expired. These factorsare important for clients who do not want to risk outliving theactuarial estimates of their lives. Displays based on calculations ofthe calculation engine 130 may show clients at what point there is onlya 25% chance that one of the partners is alive, or any other percentagechance of survival. A 50% chance of survival is “life expectancy,” asfrequently used in financial planning application, but 50% of clientswill, by definition, outlive their life expectancy. If a client seesthat there is a 25% chance that they or their spouse/partner will bealive at age 92, when retiring at age 62, they may choose to be cautiousand enter a 30-year term certain. At the end of the term certain, thecalculation engine 130 may continue with its calculations, adding to theannuity factor using the chance that someone is living until theyoungest annuitant would be 121 years old.

Although this invention has been described in terms of certain preferredembodiments, other embodiments that are apparent to those of ordinaryskill in the art are also within the scope of this invention.Accordingly, the scope of the present invention is intended to bedefined only by reference to the appended claims.

In the claims, which follow, reference characters used to denote processsteps are provided for convenience of description only, and not to implya particular order for performing the steps.

APPENDIX A INITIAL ARRAY DEFINITIONS The length of each array is thesavings horizon (how many more years of participation) i (thearrayElementNum) ranges from 0 to (savingHorizon − 1) calendarYearArray[i ] = currentYear + i cpiDeflatorArray[ i ] = 1 / ((1 +cpiEstimate){circumflex over ( )}i ) ageArray[ i ] = currentAge + ifutureSalaryArray[ i ] = (1 + salaryIncrease)*futureSalaryArray[i − 1]deflatedSalaryArray[ i ] = cpiDeflatorArray[ i ]*futureSalaryArray[ i ]proposedContribIncreaseBFMArray[ i ] = proposedContribIncreaseBFMArray[i]*annualContribIncrease proposedEmployeePercentContribArray[ i ] =proposedEmployeePercentContribArray[i − 1]   +proposedContribIncreaseBFMArray[ i ] employerProposedMatchPercentArray[i ] = MIN(matchLimit, matchPercent*proposedEmployeePercentContribArray[i ]) proposedEmployeePercentContribVsFullMatchArray[ i ] =proposedEmployeePercentContribArray[ i ]   − firstFullMatchYearContribproposedTaxableIncomeBFMArray[ i ] = IF( i >yearsUntilFullMatchProposed,proposed    TaxableIncomeBFMArray[i − 1]*(1 + realTaxableGrowthAFM),deflatedSalaryArray[ i ]    *(1 − IF( i = yearsUntilFullMatchProposed,proposedEmployeePercentContribArray[ i ] − proposed  EmployeePercentContribVsFullMatchArray[ i ],proposedEmployeePercentContribArray[ i ]))proposedDollarContribBFMAFMArray[ i ] = deflatedSalaryArray[ i ] −   proposedTaxableIncomeBFMArray[ i ] proposedPercentContribBFMAFMArray[i ] = proposedDollarContribBFMAFMArray[ i ] /    deflatedSalaryArray[ i] proposedContribIncreaseAFMArray[ i ] = IF(lifestyleOrConstantMethod′=1, IF(AND(percent    RealAdded<>percentRealAddedAFM, B[ i ]′=(yearsUntilFullMatchProposed + 1)),   (proposedPercentContribBFMAFMArray[ i ] −proposedPercentContribBFMAFMArray[ i − 1]),   proposedContribIncreaseAFMArray[i − 1]*annualContribIncreaseAFM),constantPercentAFM) proposedEmployeePercentContribAFMArray[ i ] =proposedEmployeePercentContribAFMArray[i − 1]    + IF( i =yearsUntilFullMatchProposed, MAX(proposedEmployeePercentContribArray[ i] −    proposedEmployeePercentContribVsFullMatchArray[ i ] −proposedEmployeePercent    ContribAFMArray[i − 1],proposedContribIncreaseAFMArray[ i ]), IF( i > yearsUntilFullMatch   Proposed, proposedContribIncreaseAFMArray[ i ],proposedContribIncreaseBFMArray[ i ]))proposedEmployeeDollarsContribArray[ i ] = futureSalaryArray    [ i]*proposedEmployeePercentContribAFMArray[ i ] irsDollarLimitArray[ i ] =LOOKUP(currentYear + i, limitYearArray, contribLimitArray)actualEmployeeFutureDollarContribArray[ i ] =MIN(proposedEmployeeDollarsContribArray[ i ],  irsDollarLimitArray[ i ])actualPercentEmployeeContribArray[ i ] ==MIN(employeeContributionMax,MAX(employee  ContributionMin,actualEmployeeFutureDollarContribArray[ i ] /futureSalaryArray[ i ])) actualDollarEmployeeContribArray[ i ] =actualPercentEmployeeContribArray[ i ]*futureSalaryArray[ i ]actualFutureEmployeeContribIncreaseArray[I] =actualDollarEmployeeContribArray    [ i]/actualDollarEmployeeContribArray[ i −1] −1actualEmployeeTodaysDollarContribArray[ i ] =actualDollarEmployeeContribArray    [ i ]*cpiDeflatorArray[ i ]actualEmployeeTodaysPercentContribArray[ i ] =actualEmployeeFutureDollarContribArray[ i ]   / futureSalaryArray[ i ]employeeContribPercentOfLimitArray[ i ] =actualEmployeeFutureDollarContribArray[ i ]    / irsDollarLimitArray[ i] employerMatchPercentArray[ i ] = MIN(matchLimit,   matchPercent*actualEmployeeTodaysPercentContribArray[ i ])employerMatchDollarsArray[ i ] = employerMatchPercentArray[ i]*futureSalaryArray[ i ] futureTaxableArray[ i ] = futureSalaryArray[ i] − actualEmployeeFutureDollarContribArray[ i ]taxableIncomeTodaysDollarsArray[ i ] = futureTaxableArray[ i]*cpiDeflatorArray[ i ] actualRealGrowthArray[ i ] =taxableIncomeTodaysDollarsArray[ i ] / taxableIncomeTodaysDollarsArray[i − 1] − 1futureDollarRaiseVsSalaryIncreaseArray[ i ] = ((futureTaxableArray[ i ]/ futureTaxableArray[i − 1]) − 1) /  salaryIncreaserealDollarRaiseVsRealSalaryIncreaseArray[ i ] = actualRealGrowthArray[ i] / realSalaryIncrease logRealIncreaseArray[ i ] = log(1 +actualRealGrowthArray[ i ]) medianPortfolioEndValue[ i ] = (1 +portfolioReturn)*(medianPortfolioEndValue[i − 1]    +actualEmployeeFutureDollarContribArray[ i ] / 2 +employerMatchDollarsArray[ i ] / 2)    +actualEmployeeFutureDollarContribArray[ i ] / 2 + employerMatchDollars   Array[ i ] / 2 currentPlanProposedEmployeeContribArray[ i ] =futureSalaryArray[ i ]*currentContrib currentPlanEmployeeContribArray[ i] = MIN(S[ i ], currentPlanProposedEmployeeContribArray[ i ])currentPlanEmployerContribArray[ i ] =MIN(matchLimit,currentContrib*matchPercent)*    futureSalaryArray[ i ]currentPlanTaxableIncomeTodaysDollarsArray[i] = (futureSalaryArray[i] −   currentPlanEmployeeContribArray[i]) * cpiDeflatorArray[ i ]currentPlanActualRealGrowthArray[ i ] =currentPlanTaxableIncomeTodaysDollarsArray[ i ]    /currentPlanTaxableIncomeTodaysDollarsArray[i − 1] − 1currentPlanLogRealIncreaseArray[ i ] = log(1 +currentPlanActualRealGrowthArray[ i ])currentPlanMedianPortfolioBalanceArray[ i ] = (1 +portfolioReturn)*(currentPlanMedianPortfolio    BalanceArray[i − 1] +currentPlanEmployeeContribArray[ i ] / 2 + currentPlanEmployer   ContribArray[ i ] / 2) + currentPlanEmployeeContribArray[ i ] / 2 +currentPlanEmployer    ContribArray[ i ] / 2currentPlanMedianEmployerPortfolioBalanceArray[ i ] = (1 +portfolioRetum)*(currentPlanMedian    EmployerPortfolioBalanceArray[i −1] + currentPlanEmployerContribArray[ i ] / 2) + currentPlan   EmployerContribArray[ i ] / 2 medianEmployerPortfolioBalanceArray[ i] = (1 + portfolioReturn)*(medianEmployerPortfolio    BalanceArray[i −1] + employerMatchDollarsArray[ i ] / 2) + employerMatchDollarsArray[ i] / 2

1. A computer-implemented method for managing retirement plancontributions, comprising: using one or more computer servers to executesoftware instructions stored on a computer-readable medium, the softwareinstruction causing the one or more computer servers to execute atleast: receiving a first set of data for a user seeking a schedule forretirement savings plan contributions, the first set of data includinginformation from one or more of the following categories: the user'ssalary, the user's expected rate of increase in salary income, and adesired amount for increasing the user's standard of living for the timeperiod while contributions to the employer-sponsored retirement savingsplan are being made; calculating a portion of the user's expected rateof increase in salary income to be used for increasing scheduledcontributions to the employer-sponsored retirement savings plan overtime, wherein the portion is substantially equal to the expected rate ofincrease in the user's salary income minus the expected inflation rateand minus the desired amount for increasing the user's standard ofliving for the time period while contributions to the employer-sponsoredretirement savings plan are being made; programmatically generating afirst proposed retirement savings contribution schedule that is based atleast in part on the first set of received data and on the calculatedportion; presenting the first proposed retirement savings contributionschedule to the user via a computer user interface that provides anoption for the user to authorize use of the first proposed retirementsavings contribution schedule; receiving at least one second set of datafor the user, the second set of data including information from one ormore of the following categories, wherein the information from at leastone of the categories is different from the information in the first setof data, the categories including: the user's salary, the user'sexpected rate of increase in salary income, and a desired amount forincreasing the user's standard of living for the time period whilecontributions to the employer-sponsored retirement savings plan arebeing made; programmatically generating a second proposed retirementsavings contribution schedule that is based at least in part on thesecond set of received data; presenting the second proposed retirementsavings contribution schedule to the user via a computer user interfacethat provides an option for the user to authorize use of the secondproposed retirement savings contribution schedule; receiving, via theuser interface, an authorization from the user for one of: the firstproposed retirement savings contribution schedule and the secondproposed retirement savings contribution schedule; and initiatingautomatic changes in contributions to a retirement savings plan inaccordance with the one authorized proposed retirement savingscontribution schedule.
 2. The computer-implemented method of claim 1,wherein the second set of data includes an expected rate of increase insalary income that is different from the expected rate of increase insalary income in the first set of data, and wherein the second proposedretirement savings contribution schedule includes calculations based onthe second expected rate of increase in salary income.
 3. Thecomputer-implemented method of claim 1, wherein the second set of dataincludes a desired amount for increasing the user's standard of livingthat is different from the desired amount for increasing the user'sstandard of living in the first set of data, and wherein the secondproposed retirement savings contribution schedule includes calculationsbased on the second desired amount for increasing the user's standard ofliving.
 4. The computer-implemented method of claim 1, whereinpresenting the first proposed retirement savings contribution scheduleand presenting the second proposed retirement savings contributionschedule comprises presenting the two schedules together in a mannerthat allows for comparison of the proposed retirement savingscontribution schedules.
 5. The computer-implemented method of claim 4,further comprising graphically presenting the first proposed retirementsavings contribution schedule and graphically presenting the secondproposed retirement savings contribution schedule as graphs that allowthe user to compare the first proposed retirement savings contributionschedule with the second proposed retirement savings contribution plan.6. A computer-implemented method for managing retirement plancontributions, comprising: using one or more computer servers to executesoftware instructions stored on a computer-readable medium, the softwareinstruction causing the one or more computer servers to execute atleast: receiving data for a user seeking a schedule for retirementsavings plan contributions, the data including information from one ormore of the following categories: the user's salary, the user's expectedrate of increase in salary income, and a desired amount for increasingthe user's standard of living for the time period while contributions tothe employer-sponsored retirement savings plan are being made;calculating a portion of the user's expected rate of increase in salaryincome to be used for increasing scheduled contributions to theemployer-sponsored retirement savings plan over time, wherein theportion is substantially equal to the expected rate of increase in theuser's salary income minus the expected inflation rate and minus thedesired amount for increasing the user's standard of living for the timeperiod while contributions to the employer-sponsored retirement savingsplan are being made; programmatically generating a proposed retirementsavings contribution schedule that is based at least in part on thereceived data and on the calculated portion; presenting the proposedretirement savings contribution schedule to the user in the form of oneor more graphs via a computer user interface, wherein the computerinterface provides an option for the user to authorize use of theproposed retirement savings contribution schedule; accepting input fromthe user comprising revisions to the data and presenting a revisedproposed retirement savings contribution schedule to the user that isbased at least in part on the revised data; and in response to receiptfrom the user of authorization to use the proposed retirement savingscontribution schedule or the revised proposed retirement savingscontribution schedule, as provided via the user interface, initiatingautomatic changes in contributions to a retirement savings plan inaccordance with the authorized retirement savings contribution schedule.7. A system configured to generate at least one proposed retirementsavings plan contribution schedule for a retirement savings plan onbehalf of a user, the system comprising: a computer system comprisingone or more computing devices; an input/output interface configured toreceive input from a user desiring a retirement savings plancontribution schedule, the input comprising information about the user'ssalary, an available employer-sponsored retirement savings plan, and anavailable employer matching-funds program, the input/output interfacefurther configured to present information to the user; at least onerepository of reference data for generating a retirement savings plancontribution schedule, the reference data comprising government-issuedconditions and limitations associated with the employer-sponsoredretirement savings plan; a calculation engine executed by the computersystem, said calculation engine configured to receive the user inputfrom the input/output interface and to access the reference data fromthe repository, the calculation engine further configured to use theuser input and the reference data to generate a proposed retirementsavings plan contribution schedule for presentation to the user via theinput/output interface, the proposed retirement savings plancontribution schedule specifying at least two different time periods inthe user's savings horizon, a first time period ending when the user'ssavings contribution reaches an employer's limit for matching funds anda second time period beginning when the user's savings contributionreaches the employer's limit for matching funds, wherein the proposedretirement savings plan contribution schedule specifies rates of savingscontributions increases for the two different periods, the input/outputinterface further configured to receive an authorization from the userfor the proposed retirement savings plan contribution schedule; arepository of client records configured to record the authorization inassociation with the user and the retirement savings contributionschedule; and a contribution management application configured toreceive information about the authorized retirement savings plancontribution schedule and to trigger automatic contribution payments toa retirement savings plan in accordance with the authorized retirementsavings plan contribution schedule.
 8. The computer system of claim 7,wherein: the calculation engine is further configured to use the userinput and the reference data to generate a plurality of proposedretirement savings plan contribution schedules for presentation to theuser via the input/output interface; and the input/output interface isfurther configured to receive authorization from the user for one of theplurality of proposed retirement savings plan contribution schedules. 9.The computer system of claim 8, wherein the input/output interface isfurther configured to graphically present the plurality of proposedretirement savings plan contribution schedules to the user.
 10. Thecomputer system of claim 7, wherein the input/output interface isfurther configured to receive input from the user regarding a desiredrate of standard-of-living increase and wherein the calculation engineis further configured to generate the proposed retirement savings plancontribution schedule in accordance with the user's desired rate ofstandard-of-living increase.